package io;

import java.io.*;

public class IODemo7 {
    public static void main(String[] args) throws IOException {
        // 抽象类 不能实例化
//        File file = new File("d:/test.txt");
//        file.createNewFile();
        // 相当于C中的fopen 文件打开操作
        // 该操作让当前变量和硬盘上的文件相关联起来,就相当于给文件加了个遥控器
//        InputStream inputStream = null;


        // 执行中间 return 或者抛异常 就会导致close执行不到(和锁一样)
        // inputStream.close(); // 关闭操作,释放资源
        // try finally 不优雅
//        try {
//            inputStream = new FileInputStream("d:/test.txt");// 从文件进行读写,需要指定读写路径 文件不存在,直接抛异常
//        }finally {
//            inputStream.close();
//        }

        // 读文件
        try (InputStream inputStream = new FileInputStream("d:/test.txt")) {
            // read 一次返回的是一个字节,但是此处的返回值类型是int
            while (true) {
                int b = inputStream.read();
                char c = (char)b;
                if (b == -1) {
                    break;
                }
                System.out.println(c);
            }
            System.out.println("//使用的字节流,每次读的不是字符,而是字节,读出的这一串数据,就是每个字符的ascii码");
        }
    }
}
